The present invention relates generally to the field of electronic mail management systems, and more specifically to new and useful methods, apparatus and computer programs for automatically forwarding electronic mail to an intended recipient when the recipient is otherwise unknown to the receiving entity.
The national and international packet switched public network, generically referred to as xe2x80x9cthe Internetxe2x80x9d has existed for some time. Although often referred to as a single technological entity, the Internet is represented by a substantial complex of communication systems ranging from conventional analog and digital telephone lines through fiber optic, microwave and satellite communications links. The physical structure of the Internet is logically unified through the establishment of common information transport protocols, and addressing and resource referencing schemes that allow quite disparate computer systems to communicate both locally and internationally with one another.
Electronic mail over the Internet provides a quick and convenient way for computer users to communicate. This communication is typically initiated by a message sender who composes a message using a text editing program, provides the electronic mail address of the intended recipient, and often provides an indication of the content (subject matter) of the message by providing text in a xe2x80x9csubjectxe2x80x9d field. Using well-understood technology, this composed message is then sent to the recipient""s computer address. The recipient""s computer receives the message and stores it in the recipient""s inbox. The recipient eventually reads, deletes, responds to, or otherwise processes the message stored within the inbox by using any of a number of electronic mail programs well known in the art.
Because such electronic mail messages travel across networks, they generally are constructed according to the Standard for the Format of ARPA Internet Text Messages specification (RFC822). This specification can be found on the world wide web of the Internet at address xe2x80x9chttp://www.cis.ohio-state.edu/htbin/rfc/rfc822.htmlxe2x80x9d. Messages formatted to the RFC822 standard have a header portion and an optional body portion that contains the text of the message. The header portion includes a number of fields that address and classify the message. For example, the header portion of a message contains fields composed of character strings comprising a field-name followed by a colon, followed by a field-body terminated with a carriage return/line feed. An example header field is:
xe2x80x9cTo: John Doexe2x80x9d. {cr}{1f}
In this example, the {cr} represents the ASCII carriage return character and the {1f} represents the ASCII line feed character. The header field-names are not case sensitive, thus, xe2x80x9cto:xe2x80x9d is equivalent to xe2x80x9cTO:xe2x80x9d, xe2x80x9cTo:xe2x80x9d or xe2x80x9ctO:xe2x80x9d.
Today electronic mail service is typically provided by an electronic mail server connected to the Internet. Another dynamic information source is provided by independently operating list servers residing on computer systems that are, in general, connected to the Internet. A list server is typically an automated service that functions autonomously to repeat electronic mail messages received by a publicly-known list server electronic mail account to an established list of subscribers known to the list server by explicit or fully qualified electronic mail addresses. The list server is thus an automated electronic/relectronic mailer that allows a one-to-many distribution of electronic mail messages through the operation of the list server. The relectronic mailing of electronic mail messages is typically dynamic and, therefore, persistent messages are maintained, if at all, selectively by the subscribers of a particular mailing list. Furthermore, the list servers are themselves subject to extreme variability in location and operation since only a publicly available dedicated electronic mail address is required in substance to operate a list server.
Currently, when electronic mail is sent, it is packaged in various formats and sent from the sending user""s computer system to an electronic mail server (sending server), via various means of electronic transmission, and a copy is generally retained on the sending machine. The sending server then packages the message into simple mail transfer protocol (SMTP) format, or Interim Mail Access Protocol (IMAP) format, or other electronic mail protocol formats, using Multipurpose Internet Mail Extensions (MIME) or Hypertext Markup Language (HTML) or other formatting protocols, and a connection is attempted with the recipient.
During this connection, the electronic mail message is sent from the sending server to a receiving server associated with the recipient of the message. In order to accept the electronic mail content from the sending server, the receiving server must generally be able to validate that there is indeed a user name corresponding exactly with the electronic mail recipient""s name. The receiving server thus checks its database of electronic mail users and validates the electronic mail recipient""s name (the part of the electronic mail address before the @ sign). If the recipient""s name is not validated, the receiving server generally refuses the electronic mail content and returns an error message indicating that the recipient is xe2x80x9cunknownxe2x80x9d. One general exception to the foregoing is a receiving server which accepts all the mail for a domain (xe2x80x9cmail-baggingxe2x80x9d), in which case only the domain name is checked and all recipient mail content is accepted, to be validated at a later time (usually) by another server.
When the sending server receives the error message stating that the recipient is xe2x80x9cunknownxe2x80x9d, it generally sends a message back to the sending user that the recipient is unknown. This is typically the end of any automatic electronic mail service session. The sending user must interpret the error message (sent in various text and formats) and decide how to proceed.
The ability to change electronic mail addresses expediently has not kept pace with the rapid expansion of the Internet. As a result, many electronic mail users feel that they cannot leave their existing Internet Service Provider (ISP) because when and if they do, the ISP will erase their electronic mail name from the electronic mail server. All the mail that would be sent to them at that address would therefore be returned xe2x80x9cuser unknownxe2x80x9d. It would take many hours to change all manual and automatic electronic mail addresses from the old address to the new address. Many of the users who do indeed change ISPs are forced to retain the old ISP service for several months until they are sure that all of their electronic mail is being sent to the correct address.
The present invention provides systems and methods for automatically determining if the recipient of electronic mail that is unknown at the receiving server has left a xe2x80x9cforwarding addressxe2x80x9d with another server (the xe2x80x9cforwarding listserverxe2x80x9d), thereby allowing either the receiving server, the sending server, or the sending user (e.g., computer system), or any other party to the communication, to automatically send the electronic mail content to the (new) correct address. In addition to this automatic xe2x80x9cforwardingxe2x80x9d, the sending user is notified as to the new electronic mail address so as to allow the sending user to update manually, or automatically via specialized software, the user""s individual database of electronic mail addresses. No attempt is made to resolve an unknown user name to any of the existing user names that might be close in spelling. This would be a major security breach and go against most of the philosophy in the electronic mail concept.
The present invention provides that some or all participants in the electronic mail process (the sending user, the sending server, the receiving server, the receiving user, and any other participant) are aware that there is an entity, the xe2x80x9cforwarding listserverxe2x80x9d, which may have on file and available to an electronic mail participant, the new address for a particular username which is unknown to a receiving server. This new address is supplied by the electronic mail user who is changing their electronic mail address (or their employer, or any other concerned party) and is organized in a commercially available database on the xe2x80x9cforwarding listserverxe2x80x9d. Alternately, the new address can be supplied by any other entity, such as the user""s new ISP after it receives from the user their previous e-mail address(es).
The xe2x80x9cforwarding listserverxe2x80x9d includes the forwarding information (old electronic mail name and new electronic mail name). The xe2x80x9cforwarding listserverxe2x80x9d stores each set of data for a period of time, at the end of which the data is either renewed or purged (manually or automatically). Additionally, other forwarding data can be stored, such as a new postal mail address, new phone number, and other items of data. This data could be promulgated based on a variety of criteria, or be available to the Internet at large.
The manipulations performed by a computer, such as a server or a home or office computer system, in executing computer instructions are often referred to in terms, such as adding or comparing, that are commonly associated with mental operations performed by a human operator. No such capability of a human operator is necessary in any of the operations described herein that form part of the present invention; the operations are machine operations. Useful machines for performing the operations of the invention include programmed general purpose digital computers or similar devices. In all cases the method of computation is distinguished from the method of operation in operating a computer. The present invention relates, in part, to method steps for operating a computer in processing electrical or other (e.g., mechanical, chemical, optical) physical signals to generate other desired physical signals. These steps are those requiring physical manipulation of physical quantities. Usually these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. These signals are referred to as bits, values, elements, symbols characters, terms, numbers, or the like. It will be understood by those skilled in the art that all of these and similar terms are associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
The invention also relates to apparatus for performing these operations. This apparatus may be specially constructed for the required purposes or it may comprise a general purpose computer as selectively activated or reconfigured by a computer program stored in a memory. The procedures presented herein are not inherently related to a particular computer or other apparatus. In particular, various general purpose machines may be used with programs written in accordance with the teachings herein, or it may prove more convenient to construct more specialized apparatus to perform the operations. The general required structure for a variety of these machines will appear from the description below. Additionally, the invention may be embodied in a computer readable medium encoded with an electronic mail application program or other application program.
According to an aspect of the invention, a method is provided for automatically resending an electronic message originally sent to a receiving user at a first address that is now invalid to a second address for the receiving user, wherein the second address has been registered with a forwarding server. The method typically comprises the steps of sending an electronic message from a first electronic mail domain to the first address at a second electronic mail domain, determining in the second domain that the first address is no longer valid, and automatically sending a query from the second domain to the forwarding server to determine a new address associated with the first address, wherein the forwarding server stores the first address in association with the second address. The method also typically includes the steps of returning the second address to the second domain, and thereafter automatically sending the electronic message to the second address.
According to another aspect of the invention, a method is provided for automatically resending an electronic message originally sent to a receiving user at a first address that is now invalid to a second address for the receiving user, wherein the second address has been registered with a forwarding server. The method typically comprises the steps of sending an electronic message from a first electronic mail domain to the first address at a second electronic mail domain, returning a message to the first domain indicating that the first address is no longer valid, and automatically sending a query from the first domain to the forwarding server to determine a new address associated with the first address, wherein the forwarding server stores the first address in association with the second address. The method also typically includes the steps of returning the second address to the first domain, and thereafter automatically sending the electronic message to the second address.
According to yet another aspect of the present invention, a method is provided for automatically resending an electronic message originally sent to a receiving user at a destination address that is now invalid to a new address for the receiving user, wherein the new address has been registered with an address server. The method typically comprises the steps of creating an electronic message on a computer system, the electronic message having a first destination address, sending the electronic message to a first server, sending the electronic message from the first server to a second server associated with the destination address, determining in the second server that the destination address is not valid, and thereafter automatically sending a query to the address server to determine a new address associated with the destination address, wherein the address server stores the destination address in association with the new address. The method also typically includes the steps of returning the new address, and thereafter automatically sending the electronic message to the new address.
According to a further aspect of the present invention, an address server is provided. The address server typically includes an address database for storing old e-mail addresses in association with new e-mail addresses for registered users. When the address server receives a query from an e-mail server requesting a new e-mail address associated with an old e-mail address for a first user, if the first user is registered with the address server, the server searches the database for the old address and returns the new address for the first user to the e-mail server.
According to yet a further aspect of the invention, an e-mail server for receiving and sending electronic messages is provided. The e-mail server is configured to automatically send a request to an address server, which stores old e-mail addresses in association with new e-mail addresses for registered users, when the e-mail server receives a first electronic message from a first computer for a destination address that is no longer valid, and wherein the request requests a new address associated with the destination address.
Reference to the remaining portions of the specification, including the drawings and claims, will realize other features and advantages of the present invention. Further features and advantages of the present invention, as well as the structure and operation of various embodiments of the present invention, are described in detail below with respect to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements.